import akshare as ak
import pymysql
from sqlalchemy import create_engine
import time

# 打开数据库连接
conn = pymysql.connect(
    user = 'root',
    passwd = '123456',
    db = 'bs',
    host = '127.0.0.1',
    port = 3306,
    charset = 'utf8',
    autocommit = True  # 自动提交确认
)
a=[]
b=[]
# 使用cursor()方法创建一个游标对象cursor
cursor = conn.cursor()      # 游标对象用于执行查询和获取结果
sql = '''SELECT CODE,NAME FROM DATA;''' #查询股票代码及名称
cursor.execute(sql) 
cursor.close() 
conn.close()
data = cursor.fetchall()
for i in data:
    a.append(i[1])
    b.append(i[0])
m=dict(zip(a,b))
n=1
for key,value in m.items():
    k=value.lower()
    dff = ak.stock_zh_index_daily_em(symbol=k)#调取开源接口
    engine = create_engine('mysql+pymysql://root:123456@localhost:3306/history')
    con = engine.connect() 
# df是已有的Dataframe类型数据  Dataframe类型的数据可以直接插入数据库
    dff.to_sql(key.lower(), con=engine, index=False, if_exists='replace') #创建 以字典键为名的表格并插入获取到的数据
    print("success! 这是第{}条".format(n))
    n=n+1
    time.sleep(0.5)
engine.dispose()
print("over!")